Crate image_hasher
source ·Expand description
A crate that provides several perceptual hashing algorithms for images. Supports images opened with the image crate from Piston.
use image_hasher::{HasherConfig, HashAlg};
let image1 = image::open("image1.png").unwrap();
let image2 = image::open("image2.png").unwrap();
let hasher = HasherConfig::new().to_hasher();
let hash1 = hasher.hash_image(&image1);
let hash2 = hasher.hash_image(&image2);
println!("Image1 hash: {}", hash1.to_base64());
println!("Image2 hash: {}", hash2.to_base64());
println!("Hamming Distance: {}", hash1.dist(&hash2));
Structs
- Generates hashes for images.
- Start here. Configuration builder for
Hasher
. - A struct representing an image processed by a perceptual hash. For efficiency, does not retain a copy of the image data after hashing.
Enums
- Available Sampling Filters.
- Hash algorithms implemented by this crate.
- Error that can happen constructing a
ImageHash
from bytes.
Traits
- Image types that can be diffed.
- Interface for types used for storing hash data.
- Shorthand trait bound for APIs in this crate.